package com.ruoyi.teaching.service;

import java.util.List;
import com.ruoyi.teaching.domain.TeachingPlan;
import com.ruoyi.teaching.domain.vo.InsertTeachingPlan;
import com.ruoyi.teaching.domain.vo.PreviewTeachingPlan;
import com.ruoyi.teaching.domain.vo.RelatedInterviewVo;

/**
 * 教学计划Service接口
 *
 * @author sunshine
 * @date 2024-01-30
 */
public interface ITeachingPlanService
{
    /**
     * 查询教学计划
     *
     * @param id 教学计划主键
     * @return 教学计划
     */
    public TeachingPlan selectTeachingPlanById(Long id);

    /**
     * 查询教学计划列表
     *
     * @param teachingPlan 教学计划
     * @return 教学计划集合
     */
    public List<TeachingPlan> selectTeachingPlanList(TeachingPlan teachingPlan);

    /**
     * 插入教学计划
     * 新增教学计划
     *
     * @param teachingPlanList 教学计划表
     * @return 结果
     */
    public int insertTeachingPlan(InsertTeachingPlan teachingPlanList);

    /**
     * 修改教学计划
     *
     * @param teachingPlan 教学计划
     * @return 结果
     */
    public int updateTeachingPlan(TeachingPlan teachingPlan);

    /**
     * 批量删除教学计划
     *
     * @param ids 需要删除的教学计划主键集合
     * @return 结果
     */
    public int deleteTeachingPlanByIds(Long[] ids);

    /**
     * 删除教学计划信息
     *
     * @param id 教学计划主键
     * @return 结果
     */
    public int deleteTeachingPlanById(Long id);

    List<TeachingPlan> previewTeachingPlanList(PreviewTeachingPlan previewTeachingPlan);

    void addWorkday(String classesId, String date);

    void addHoliday(String classesId, String date, String type);

    RelatedInterviewVo selectTeachingPlanByStudentList(TeachingPlan teachingPlan);
}
